今天介紹入門的 CTF 題目,可以檢驗過去的學習知識是否夠紮實(當然某些題目可能需要通靈XD)。基本上,會挑一些基礎的、可以解釋的題目當作練習題,並且把它寫成 Writeup。
CTF 介紹
CTF (Capture the Flag) 是一種學習攻擊與防禦的駭客競賽
看檔案資訊
使用 strings 看是否有flag
結果如下圖(都不是真正的 flag)
發現 main 裡呼叫一個 func()
disassemble func ,發現有趣的事情
此外這題也可以使用動態追蹤
b main
發現它停在 call 0x804841d (下圖 => 指的地方)
使用 si 追進 func
發現這個 func 把資料放到 Stack 上
可獲得 flag 如下:
因為在 little endian 的設計模式下,字串會4個 byte 反轉存放於記憶體位址中,將其反轉後,得到:
CTF{here_is_the_flag}
今天小試身手一道簡易的 CTF 題目,明天接著介紹 Buffer over flow!